﻿using SQ.BLL.Interfaces;
using SQ.Domain;
using SQ.Infrastructure.DataContexts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SQ.BLL.Implementation
{
    public class LoginBS : ILoginBS
    {
        private SmartQueueDataContext data = new SmartQueueDataContext();
        public object Logar(string email, string senha)
        {
            if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(senha))
            {
                throw new ArgumentException("Usuário/Senha não informado");
            }
            else
            {
                Usuario user = data.Usuarios.FirstOrDefault(p => p.Email == email && p.Password.Equals(senha));
                Estabelecimento estabelecimento = data.Estabelecimentos.FirstOrDefault(p => p.Email == email && p.Password.Equals(senha));

                if (user != null)
                {
                    return user;
                }
                else if (estabelecimento != null)
                {
                    return estabelecimento;
                }
                else
                {
                    throw new ArgumentException("Usuário ou senha inválido");
                }
            }
            
        }
    }
}
